/**
 * API接口主入口文件
 * 导出所有API模块
 */

// 导出用户相关API
export * from './user'

// 导出卡片管理API
export * from './card'

// 导出调解服务API
export * from './mediation'

// 导出通知公告API
export * from './notice'

// 导出商店管理API
export * from './store'

// 导出文件上传API
export * from './upload'

// 导出系统配置API
export * from './system'

// 导出字典数据API
export * from './dict'

/**
 * API基础配置
 */
export const API_CONFIG = {
  // API基础路径
  BASE_URL: import.meta.env.VITE_API_BASE_URL || '/api',
  
  // 请求超时时间
  TIMEOUT: 30000,
  
  // 默认分页大小
  PAGE_SIZE: 20,
  
  // 文件上传大小限制（字节）
  MAX_FILE_SIZE: 10 * 1024 * 1024, // 10MB
  
  // 支持的图片格式
  IMAGE_TYPES: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp'],
  
  // 支持的文档格式
  DOCUMENT_TYPES: [
    'application/pdf',
    'application/msword',
    'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'application/vnd.ms-excel',
    'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  ]
}

/**
 * API响应状态码
 */
export const API_STATUS = {
  SUCCESS: 200,           // 成功
  CREATED: 201,           // 创建成功
  NO_CONTENT: 204,        // 无内容
  BAD_REQUEST: 400,       // 请求错误
  UNAUTHORIZED: 401,      // 未授权
  FORBIDDEN: 403,         // 禁止访问
  NOT_FOUND: 404,         // 未找到
  CONFLICT: 409,          // 冲突
  INTERNAL_ERROR: 500,    // 服务器内部错误
  BAD_GATEWAY: 502,       // 网关错误
  SERVICE_UNAVAILABLE: 503 // 服务不可用
}

/**
 * 业务错误码
 */
export const BUSINESS_CODE = {
  SUCCESS: 200,           // 成功
  PARAM_ERROR: 1001,      // 参数错误
  DATA_NOT_FOUND: 1002,   // 数据不存在
  DATA_EXISTS: 1003,      // 数据已存在
  PERMISSION_DENIED: 1004, // 权限不足
  TOKEN_EXPIRED: 1005,    // Token过期
  TOKEN_INVALID: 1006,    // Token无效
  USER_NOT_FOUND: 1007,   // 用户不存在
  PASSWORD_ERROR: 1008,   // 密码错误
  ACCOUNT_DISABLED: 1009, // 账户被禁用
  OPERATION_FAILED: 1010, // 操作失败
  FILE_UPLOAD_FAILED: 1011, // 文件上传失败
  FILE_TYPE_ERROR: 1012,  // 文件类型错误
  FILE_SIZE_ERROR: 1013,  // 文件大小错误
  SYSTEM_ERROR: 9999      // 系统错误
}

export default {
  API_CONFIG,
  API_STATUS,
  BUSINESS_CODE
}